package com.cy.pj.modules.entity;

import com.cy.pj.common.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 用户基础信息对象 fz_client
 *
 * @author kiven
 * @date 2023-02-09
 */
public class Client extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 所属店铺id */
    //@Excel(name = "所属店铺id")
    private Long shopId;

    /** openid */
    //@Excel(name = "openid")
    private String openId;

    /** 昵称 */
    //@Excel(name = "昵称")
    private String nickName;

    /** 性别 */
    //@Excel(name = "性别")
    private Integer gender;

    /** 省份 */
    //@Excel(name = "省份")
    private String province;

    /** 城市 */
    //@Excel(name = "城市")
    private String city;

    /** 国家 */
    //@Excel(name = "国家")
    private String country;

    /** 头像 */
    //@Excel(name = "头像")
    private String avatarUrl;

    /** 状态 */
    //@Excel(name = "状态")
    private Integer flagStatus;

    /** 删除 */
    //@Excel(name = "删除")
    private Integer flagDel;

    /** 操作人 */
    //@Excel(name = "操作人")
    private String modifyUser;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date modifyTime;

    /** 最后登陆时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "最后登陆时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 最后登陆IP */
    //@Excel(name = "最后登陆IP")
    private String lastLoginIp;

    /** 注册时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    //@Excel(name = "注册时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date registerTime;

    /** 用户等级 */
    //@Excel(name = "用户等级")
    private Integer userLevel;

    /** unionid */
    //@Excel(name = "unionid")
    private String unionid;

    /** 姓名 */
    //@Excel(name = "姓名")
    private String name;

    /** 手机号 */
    //@Excel(name = "手机号")
    private String mobile;

    /** 店铺名称 */
    //@Excel(name = "店铺名称")
    private String storeName;

    /** 店铺logo */
    //@Excel(name = "店铺logo")
    private String storeLogo;

    /** 最后一次访问店铺id */
    //@Excel(name = "最后一次访问店铺id")
    private Long recommendId;

    /** 用户类型 */
    //@Excel(name = "用户类型")
    private Long userType;

    /** 积分 */
    //@Excel(name = "积分")
    private Long score;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setShopId(Long shopId)
    {
        this.shopId = shopId;
    }

    public Long getShopId()
    {
        return shopId;
    }
    public void setOpenId(String openId)
    {
        this.openId = openId;
    }

    public String getOpenId()
    {
        return openId;
    }
    public void setNickName(String nickName)
    {
        this.nickName = nickName;
    }

    public String getNickName()
    {
        return nickName;
    }
    public void setGender(Integer gender)
    {
        this.gender = gender;
    }

    public Integer getGender()
    {
        return gender;
    }
    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }
    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }
    public void setCountry(String country)
    {
        this.country = country;
    }

    public String getCountry()
    {
        return country;
    }
    public void setAvatarUrl(String avatarUrl)
    {
        this.avatarUrl = avatarUrl;
    }

    public String getAvatarUrl()
    {
        return avatarUrl;
    }
    public void setFlagStatus(Integer flagStatus)
    {
        this.flagStatus = flagStatus;
    }

    public Integer getFlagStatus()
    {
        return flagStatus;
    }
    public void setFlagDel(Integer flagDel)
    {
        this.flagDel = flagDel;
    }

    public Integer getFlagDel()
    {
        return flagDel;
    }
    public void setModifyUser(String modifyUser)
    {
        this.modifyUser = modifyUser;
    }

    public String getModifyUser()
    {
        return modifyUser;
    }
    public void setModifyTime(Date modifyTime)
    {
        this.modifyTime = modifyTime;
    }

    public Date getModifyTime()
    {
        return modifyTime;
    }
    public void setLastLoginTime(Date lastLoginTime)
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime()
    {
        return lastLoginTime;
    }
    public void setLastLoginIp(String lastLoginIp)
    {
        this.lastLoginIp = lastLoginIp;
    }

    public String getLastLoginIp()
    {
        return lastLoginIp;
    }
    public void setRegisterTime(Date registerTime)
    {
        this.registerTime = registerTime;
    }

    public Date getRegisterTime()
    {
        return registerTime;
    }
    public void setUserLevel(Integer userLevel)
    {
        this.userLevel = userLevel;
    }

    public Integer getUserLevel()
    {
        return userLevel;
    }
    public void setUnionid(String unionid)
    {
        this.unionid = unionid;
    }

    public String getUnionid()
    {
        return unionid;
    }
    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }
    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }
    public void setStoreName(String storeName)
    {
        this.storeName = storeName;
    }

    public String getStoreName()
    {
        return storeName;
    }
    public void setStoreLogo(String storeLogo)
    {
        this.storeLogo = storeLogo;
    }

    public String getStoreLogo()
    {
        return storeLogo;
    }
    public void setRecommendId(Long recommendId)
    {
        this.recommendId = recommendId;
    }

    public Long getRecommendId()
    {
        return recommendId;
    }
    public void setUserType(Long userType)
    {
        this.userType = userType;
    }

    public Long getUserType()
    {
        return userType;
    }
    public void setScore(Long score)
    {
        this.score = score;
    }

    public Long getScore()
    {
        return score;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopId", getShopId())
            .append("openId", getOpenId())
            .append("nickName", getNickName())
            .append("gender", getGender())
            .append("province", getProvince())
            .append("city", getCity())
            .append("country", getCountry())
            .append("avatarUrl", getAvatarUrl())
            .append("flagStatus", getFlagStatus())
            .append("flagDel", getFlagDel())
            .append("modifyUser", getModifyUser())
            .append("modifyTime", getModifyTime())
            .append("lastLoginTime", getLastLoginTime())
            .append("lastLoginIp", getLastLoginIp())
            .append("registerTime", getRegisterTime())
            .append("userLevel", getUserLevel())
            .append("unionid", getUnionid())
            .append("name", getName())
            .append("mobile", getMobile())
            .append("storeName", getStoreName())
            .append("storeLogo", getStoreLogo())
            .append("recommendId", getRecommendId())
            .append("userType", getUserType())
            .append("score", getScore())
            .toString();
    }
}
